home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / COMAL / Z-Misc Series / (k)zb.d64 / 1520'driver.proc < prev    next >
Text File  |  2007-03-01  |  3KB  |  167 lines

  1. 9000 //SAVE "1520DRIVER0.14
  2. 9002 // BY KEVIN QUIGGLE
  3. 9004 //
  4. 9006 PROC P'OPEN(SA) CLOSED
  5. 9008 OPEN FILE 66,"",UNIT 6,SA,WRITE
  6. 9010 ENDPROC P'OPEN
  7. 9012 //
  8. 9014 PROC P'CLOSE CLOSED
  9. 9016 CLOSE FILE 66
  10. 9018 ENDPROC P'CLOSE
  11. 9020 //
  12. 9022 PROC P'CHAR(C$) 
  13. 9024 P'OPEN(6)
  14. 9026 PRINT FILE 66: 1,
  15. 9028 P'CLOSE
  16. 9030 P'OPEN(0)
  17. 9032 IF C$<>"" THEN
  18. 9034 PRINT FILE 66: C$,
  19. 9036 ELSE 
  20. 9038 PRINT FILE 66: 
  21. 9040 ENDIF 
  22. 9042 P'CLOSE
  23. 9044 ENDPROC P'CHAR
  24. 9046 //
  25. 9048 PROC P'HOME 
  26. 9050 P'OPEN(1)
  27. 9052 PRINT FILE 66: "H",
  28. 9054 P'CLOSE
  29. 9056 ENDPROC P'HOME
  30. 9058 //
  31. 9060 PROC P'INIT 
  32. 9062 P'OPEN(1)
  33. 9064 PRINT FILE 66: "I",
  34. 9066 P'CLOSE
  35. 9068 ENDPROC P'INIT
  36. 9070 //
  37. 9072 PROC P'MOVETO(X,Y) 
  38. 9074 P'OPEN(1)
  39. 9076 COMMAND("M",X,Y)
  40. 9078 PRINT FILE 66: C$,
  41. 9080 P'CLOSE
  42. 9082 ENDPROC P'MOVETO
  43. 9084 //
  44. 9086 PROC P'DRAWTO(X,Y) 
  45. 9088 P'OPEN(1)
  46. 9090 COMMAND("D",X,Y)
  47. 9092 PRINT FILE 66: C$,
  48. 9094 P'CLOSE
  49. 9096 ENDPROC P'DRAWTO
  50. 9098 //
  51. 9100 PROC P'MOVE(X,Y) 
  52. 9102 P'OPEN(1)
  53. 9104 COMMAND("R",X,Y)
  54. 9106 PRINT FILE 66: C$,
  55. 9108 P'CLOSE
  56. 9110 ENDPROC P'MOVE
  57. 9112 //
  58. 9114 PROC P'DRAW(X,Y) 
  59. 9116 P'OPEN(1)
  60. 9118 COMMAND("J",X,Y)
  61. 9120 PRINT FILE 66: C$,
  62. 9122 P'CLOSE
  63. 9124 ENDPROC P'DRAW
  64. 9126 //
  65. 9128 PROC P'RESET 
  66. 9130 P'OPEN(7)
  67. 9132 PRINT FILE 66: 
  68. 9134 P'CLOSE
  69. 9136 ENDPROC P'RESET
  70. 9138 //
  71. 9140 PROC P'COLOR(COLOR) 
  72. 9142 P'OPEN(2)
  73. 9144 CONVERT(2,T$,COLOR)
  74. 9146 PRINT FILE 66: T$,
  75. 9148 P'CLOSE
  76. 9150 ENDPROC P'COLOR
  77. 9152 //
  78. 9154 PROC P'CHARSIZE(SIZ) 
  79. 9156 P'OPEN(3)
  80. 9158 CONVERT(2,T$,SIZ)
  81. 9160 PRINT FILE 66: T$,
  82. 9162 P'CLOSE
  83. 9164 ENDPROC P'CHARSIZE
  84. 9166 //
  85. 9168 PROC P'ROTCHAR(ROT) 
  86. 9170 P'OPEN(4)
  87. 9172 CONVERT(2,T$,ROT)
  88. 9174 PRINT FILE 66: T$,
  89. 9176 P'CLOSE
  90. 9178 ENDPROC P'ROTCHAR
  91. 9180 //
  92. 9182 PROC P'SCRIBE(BRK) 
  93. 9184 P'OPEN(5)
  94. 9186 CONVERT(2,T$,BRK)
  95. 9188 PRINT FILE 66: T$,
  96. 9190 P'CLOSE
  97. 9192 ENDPROC P'SCRIBE
  98. 9194 //
  99. 9196 PROC CONVERT(AN,REF ALPH$,REF NUMB) CLOSED
  100. 9198 Z:=ZONE
  101. 9200 ZONE 0
  102. 9202 DIM OLD$ OF 12
  103. 9204 ROW:=PEEK(214); COL:=PEEK(211)
  104. 9206 PC:=PEEK(646) //CURRENT PENCOLOR
  105. 9208 BC:=PEEK(53281)-240
  106. 9210 PENCOLOR BC
  107. 9212 PRINT CHR$(19),
  108. 9214 OPEN FILE 126,"",UNIT 3,READ
  109. 9216 INPUT FILE 126: OLD$
  110. 9218 CLOSE FILE 126
  111. 9220 PRINT "            ",
  112. 9222 CASE AN OF
  113. 9224 WHEN 1
  114. 9226 IF ALPH$="" THEN
  115. 9228 ALPH$:="NV"
  116. 9230 ELSE 
  117. 9232 PRINT ALPH$,
  118. 9234 ENDIF 
  119. 9236 WHEN 2
  120. 9238 PRINT NUMB,
  121. 9240 WHEN 3
  122. 9242 IF NUMB>=0 AND NUMB<=255 THEN
  123. 9244 PRINT CHR$(NUMB),
  124. 9246 ELSE 
  125. 9248 ALPH$:="NV"
  126. 9250 ENDIF 
  127. 9252 OTHERWISE 
  128. 9254 ALPH$:="NV"
  129. 9256 ENDCASE 
  130. 9258 IF ALPH$<>"NV" THEN
  131. 9260 PULL'SCREEN(AN,ALPH$,NUMB)
  132. 9262 ENDIF 
  133. 9264 PENCOLOR PC
  134. 9266 PRINT "",OLD$
  135. 9268 POKE 214,ROW
  136. 9270 POKE 209,(1024+ROW*40) MOD 256
  137. 9272 POKE 210,(1024+ROW*40) DIV 256
  138. 9274 POKE 211,COL
  139. 9276 ZONE Z
  140. 9278 ENDPROC CONVERT
  141. 9280 //
  142. 9282 PROC PULL'SCREEN(AN,REF ALPHA$,REF NUMBER) CLOSED
  143. 9284 PRINT CHR$(19),
  144. 9286 OPEN FILE 93,"",UNIT 3,READ
  145. 9288 CASE AN OF
  146. 9290 WHEN 1
  147. 9292 INPUT FILE 93: NUMBER
  148. 9294 WHEN 2,3
  149. 9296 INPUT FILE 93: ALPHA$
  150. 9298 ENDCASE 
  151. 9300 CLOSE FILE 93
  152. 9302 ENDPROC PULL'SCREEN
  153. 9304 //
  154. 9306 PROC COMMAND(CH$,X,Y) 
  155. 9308 C$:=CH$+" "
  156. 9310 CONVERT(2,T$,X)
  157. 9311 IF " " IN T$ THEN T$:=T$(1:" " IN T$)
  158. 9312 C$:=C$+T$+" "
  159. 9314 CONVERT(2,T$,Y)
  160. 9315 IF T$(1)<>"0" THEN
  161. 9316 C$:=C$+T$
  162. 9317 ELSE 
  163. 9318 C$:=C$+T$(2:LEN(T$))
  164. 9319 ENDIF 
  165. 9320 ENDPROC COMMAND
  166. 9321 //
  167.